# makefile para el simulador quirurgico
LIBRARIES = -lglut -lGL -lGLU #-lvrpn -lquat -lm
LIBRARIESMAC = -framework OpenGL -framework GLUT
CC = g++ -Wall -O3
CCMAC = g++ -Wall -O3 -fast
OBJECTS = Elemento_Fisico.o Elemento_Visual.o Geometria.o Indice.o Integrador.o Intrumento_Qco.o Laparoscopio.o Mass_Spring_Model.o Organo.o polhemusControl.o Simulacion.o Spring.o Superficie_Triangular.o Tetraedro.o Triangulo.o Vertice.o Visualizacion.o Volumen_Tetraedral.o Nodo.o ArbolRitter.o colisionTriangulos.o NodoFisico.o Algebra.o Vector.o ModeloFisico.o Borde.o ControlTimer.o Matriz.o

main: SimuladorQcoMain.o $(OBJECTS)
	$(CC) SimuladorQcoMain.cpp $(OBJECTS) -o main $(LIBRARIES)
mac: SimuladorQcoMain.o $(OBJECTS)
	$(CCMAC) SimuladorQcoMain.cpp $(OBJECTS) -o main $(LIBRARIESMAC)
debug: SimuladorQcoMain.o $(OBJECTS)
	$(CC) -g SimuladorQcoMain.cpp -o main $(OBJECTS) $(LIBRARIES)
Elemento_Fisico.o: Elemento_Fisico.cpp
	$(CC) -c Elemento_Fisico.cpp
Elemento_Visual.o: Elemento_Visual.cpp
	$(CC) -c Elemento_Visual.cpp
Geometria.o: Geometria.cpp
	$(CC) -c Geometria.cpp
Indice.o: Indice.cpp
	$(CC) -c Indice.cpp
Integrador.o: Integrador.cpp
	$(CC) -c Integrador.cpp
Instrumento_Qco.o: Instrumento_Qco.cpp
	$(CC) -c Instrumento_Qco.cpp
Laparoscopio.o: Laparoscopio.cpp
	$(CC) -c Laparoscopio.cpp
Mass_Spring_Model.o: Mass_Spring_Model.cpp
	$(CC) -c Mass_Spring_Model.cpp
Organo.o: Organo.cpp
	$(CC) -c Organo.cpp
polhemusControl.o: polhemusControl.cpp
	$(CC) -c polhemusControl.cpp -Lvrpn/ 
Simulacion.o: Simulacion.cpp
	$(CC) -c Simulacion.cpp
Spring.o: Spring.cpp
	$(CC) -c Spring.cpp
NodoFisico.o: NodoFisico.cpp
	$(CC) -c NodoFisico.cpp
Superficie_Triangular.o: Superficie_Triangular.cpp
	$(CC) -c Superficie_Triangular.cpp
Tetraedro.o: Tetraedro.cpp
	$(CC) -c Tetraedro.cpp
Triangulo.o: Triangulo.cpp
	$(CC) -c Triangulo.cpp
Vertice.o: Vertice.cpp
	$(CC) -c Vertice.cpp
Visualizacion.o: Visualizacion.cpp
	$(CC) -c Visualizacion.cpp
Volumen_Tetraedral.o: Volumen_Tetraedral.cpp
	$(CC) -c Volumen_Tetraedral.cpp
Algebra.o: Algebra.cpp
	$(CC) -c Algebra.cpp
Vector.o: Vector.cpp
	$(CC) -c Vector.cpp
ModeloFisico.o: ModeloFisico.cpp
	$(CC) -c ModeloFisico.cpp
Borde.o: Borde.cpp
	$(CC) -c Borde.cpp
ControlTimer.o: ControlTimer.cpp
	$(CC) -c ControlTimer.cpp
Matriz.o: Matriz.cpp
	$(CC) -c Matriz.cpp
#clases para la deteccion de colisiones

Nodo.o: Nodo.cpp 
	$(CC) -c Nodo.cpp
ArbolRitter.o: ArbolRitter.cpp
	$(CC) -c ArbolRitter.cpp
colisionTriangulos.o: colisionTriangulos.cpp
	$(CC) -c colisionTriangulos.cpp
clean:
	-rm main SimuladorQcoMain.o $(OBJECTS)

